﻿// <copyright file="SystemType.cs" company="Sinclair Community College">
// Copyright 2010 Sinclair Community College
// </copyright>
// <originalAuthor>Patrick S. Seymour (patrick.seymour@gmail.com)</originalAuthor>

namespace SinclairCC.AppV
{
    using System.Diagnostics.CodeAnalysis;

    /// <summary>
    /// System type values identify the type of operating system under which the package was created.
    /// </summary>
    /// <remarks>
    /// Please refer to the Microsoft Windows SDK for detailed descriptions of different system types and their respective meanings.
    /// </remarks>
    public enum SystemType : short
    {
        /// <summary>
        /// The system is a domain controller and the operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
        /// </summary>
        [SuppressMessage("Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores", Justification = "This value is defined in the Microsoft Windows SDK.")]
        [SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification = "This value is defined in the Microsoft Windows SDK.")]
        VER_NT_DOMAIN_CONTROLLER = 0x0000002,

        /// <summary>
        /// The operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
        /// </summary>
        /// <remarks>
        /// Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER.
        /// </remarks>
        [SuppressMessage("Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores", Justification = "This value is defined in the Microsoft Windows SDK.")]
        [SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification = "This value is defined in the Microsoft Windows SDK.")]
        VER_NT_SERVER = 0x0000003,

        /// <summary>
        /// The operating system is Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.
        /// </summary>
        [SuppressMessage("Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores", Justification = "This value is defined in the Microsoft Windows SDK.")]
        [SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification = "This value is defined in the Microsoft Windows SDK.")]
        VER_NT_WORKSTATION = 0x0000001
    }
}
